{{tag>Hardy Personnalisation Conky}}
----


====== La météo avec conkyForecast ======


{{  http://img137.imageshack.us/img137/6690/conkyforecastimage2eo7.png?220|}}

**conkyForecast** est un script écrit en Python qui permet d'afficher la météo sur le bureau grâce à [[Conky]]. Les informations sont récupérées sur le site [[http://www.weather.com/|Weather.com]] à l'aide du service XOAP. 

L'ensemble est extrêmement configurable et les prévisions peuvent être paramétrées jusqu'à 5 jours.

===== 1) Pré-requis =====

  * Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **[[apt://conky|conky]]**.
  * Savoir se servir du [[terminal]]

=====2) Installation =====

<note warning>Ce logiciel n'est pas issu des dépôts officiels, vous l'installez à vos risques et périls !</note>

[[:tutoriel:comment_modifier_sources_maj|Ajoutez le dépôt]] ci-dessous correspondant votre distribution pour installer l'application "Conkyforecast":

Pour Lucid Lynx 10.04 : 
<code>deb http://ppa.launchpad.net/conkyhardcore/ppa/ubuntu lucid main 
deb-src http://ppa.launchpad.net/conkyhardcore/ppa/ubuntu lucid main</code>

Pour Hardy Heron :
<code>deb http://ppa.launchpad.net/m-buck/ubuntu hardy main</code>

Pour Ubuntu Intrepid Ibex :
<code>deb http://ppa.launchpad.net/m-buck/ubuntu intrepid main</code>

Puis [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|rechargez la liste des paquets]] et [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt://conkyforecast|conkyforecast]]**.

__**Rappel Ajouter une source :**__

**a)** Menu Ubuntu : Système > Administration > Sources de Logiciels.

**b)** Sélectionner l'onglet " Autres logiciels".

**c)** Cliquez sur ajouter en bas à gauche.

**d)** Entrez le nom du dépôt (commençant par **deb http:** ou **ppa:**).

**e)** Cliquez sur l'icône "Ajouter une source de mises à jour".

**f)** En fermant la fenêtre on vous propose d'actualiser les dépôts, actualiser les dépôts.

**g)** Ouvrez un terminal, Menu Ubuntu : Application > Accessoires > Terminal. Copier coller le code ci-dessous :
<code>sudo apt-get install conkyforecast</code>


=====3) Inscription au service XOAP (Weather.com) =====

**a)** Pour que **conkyForecast** puisse récupérer les informations de la météo, il est nécessaire de s'inscrire [[http://www.weather.com/services/xmloap.html|ici]] (gratuit) :

**b)** Une fois sur le site cliquer sur le lien 'Register' en haut à droit.

**c)** Une fois le formulaire complété, vous recevrez un mail de confirmation dans lequel vous trouverez vos codes:
  * **Partner ID  : xxxxxxx**
  * **License Key: xxxxxxx**

**Gardez ces informations sous la main**.

**d)** Dans le mail de confirmation je vous conseil de télécharger le dossier 'sdk'. Ce dernier contient l'ensemble des icônes météo en couleur utiliser par le site : 
[[http://download.weather.com/web/xml/sdk.zip]]

**e)** Pour trouver le code de votre ville, rendez-vous sur le site [[http://www.weather.com/]].

**f)** Lancer la recherche et notez le code qui se trouve dans la barre d'adresse sous la formme 'FRXX000'.

Exemple : Code Paris : **FRXX0076**

=====4) Configuration =====

====A) ConkyForecast.config ====

Les paramètres principaux comme la langue, le format de l'heure, la date, ainsi que vos identifiants se trouvent dans le fichier **''~/.conkyForecast.config''**. 

Ce fichier n'existe pas encore mais nous allons le créer 
[[:tutoriel:comment_editer_un_fichier|éditez-le]].

Dans un Terminal lancer la commande ci-dessous pour créer le fichier.
<code>gksudo gedit ~/.conkyForecast.config</code>
Copier Collez le code ci-dessous en remplaçant les XXXXX par les informations qui vous avez réceptionné de [[http://www.weather.com/]] :

<code># config settings for conkyForecast.py
CACHE_FOLDERPATH = /tmp/
CONNECTION_TIMEOUT = 5
EXPIRY_MINUTES = 30
TIME_FORMAT = %H:%M
DATE_FORMAT = %d-%m-%Y
LOCALE = fr
XOAP_PARTNER_ID = XXXXXXXXXXX 
XOAP_LICENCE_KEY = XXXXXXXXXX</code>

Sauvegardez puis quittez.

Le fichier **''"~/.conkyForecast.config"''** ce trouve sous le chemin :
/home/votre_session/en fichier cachée.
 
 
<note>**Modifier le chemin du répertoire temporaire :**

Pour ce faire, éditez le fichier ~/.conkyForecast.config et remplacez ce qui suit par le répertoire temporaire de votre choix. 


(Le $USER mentionné ci-après doit être votre nom d'utilisateur) : 

CACHE_FOLDERPATH = /home/$USER/.conky_tmp

Exemple de session : 
CACHE_FOLDERPATH = /home/amande/Config/Conky/.conky_tmp/</note>

====B) Exemple ====

Afin de vous donner une idée de ce à quoi peut ressembler la météo sur votre bureau.\\
Vous trouverez deux fichiers dans **''/usr/share/conkyforecast/example''** :
  * conkyrc (fichier de configuration de [[Conky]])
  * conkyForecast.template (détaillé un peu plus loin)

Vous pouvez lancer [[Conky]] à l'aide de la commande suivante :
<code>conky -c /usr/share/conkyforecast/example/conkyrc &</code>

Qu'en dîtes-vous ? Passons aux choses sérieuses !


==== Ville ====

Pour trouver le code de votre ville rendez-vous sur le site http://www.weather.com/ \\
Lancez une recherche et notez le code qui se trouve dans la barre d'adresse sous la forme FRXX0000.\\
Il faudra l'utiliser avec l'option --location comme suit :

<code>--location FRXX0000</code>

==== Conkyrc ====

Avant tout il faut savoir que le script s'utilise à l'aide de la commande :

<code>{execi 1800 conkyForecast ...options...}</code>

Pour visionner/s'inspirer d'un conkyrc, [[:tutoriel:comment_editer_un_fichier|ouvrez le fichier]] **''/usr/share/conkyforecast/example/conkyrc''**.

Pour consulter la liste des options disponibles :

<code>conkyForecast -h</code>

Vous êtes perdus ? Pas de panique !

==== Options ====

Voici la description des principales options :
  * **''-l CODE ou --location=CODE''** : on l'utilisera pour spécifier le CODE de votre ville au script.
  * **''-d DATATYPE ou --datatype=DATATYPE''** : c'est l'option principale ! Elle déterminera quelle information on souhaite afficher.
        * **DW** : jour de la semaine\\
        * **WF** : police ConkyWeather\\
        * **BF** : police Bearing Font\\
        * **BS** : police Bearing Font + vitesse\\
        * **MF** : police Moon Font\\
        * **LT** : prévision température min\\
        * **HT** : prévision température max\\
        * **CC** : conditions actuelles\\
        * **CT** : conditions originales (en anglais)\\
        * **PC** : chances de précipitations (en %)\\
        * **HM** : taux d'humidité\\
        * **VI** : visibilité\\
        * **WD** : direction du vent\\
        * **WA** : angle du vent en degrés\\
        * **WS** : vitesse du vent\\
        * **WG** : raffale de vent\\
        * **CN** : nom de la ville\\
        * **CO** : nom du pays\\
        * **OB** : nom de l'observatoire\\
        * **SR** : levé du soleil\\
        * **SS** : couché du soleil\\
        * **DL** : lumière du jour\\
        * **MP** : phase de la lune\\
        * **MF** : police pour la lune pour afficher un symbole\\
        * **BR** : pression atmosphérique\\
        * **BD** : description pression\\
        * **UI** : indice UV\\
        * **UT** : description UV\\
        * **DP** : point de rosée\\
        * **LU** : dernière mise à jour de weather.com\\
        * **LF** : dernière connexion à weather.com\\
  * **''-s NUMBER ou --startday=NUMBER''** : affiche les prévisions à partir du jour donné en paramètre (1 à 4)
  * **''-e NUMBER ou --endday=NUMBER''** : utilisé avec --startday, défini le jour de fin des prévisions
  * **''-S NUMBER ou --spaces=NUMBER''** : défini un espace avec la sortie de la commande (défaut : 1)
  * **''-t FILE ou --template=FILE''** : défini le chemin du fichier conkyForecast.template
  * **''-L LOCALE ou --locale=LOCALE''** : change la langue de sortie de la commande (fr=français, en=anglais...)
  * **''-i ou --imperial''** : donne le résultat en mesure impériale (mph, °F..)
  * **''-n ou --night''** : pour obtenir les informations de nuit
  * **''-w ou --shortweekday''** : tronque les noms des jours aux 3 premières lettres (ex: samedi=sam)
  * **''-u ou --hideunits''** : cache l'unité de mesure
  * **''-x ou --hidedegreesymbol''** : cache le symbole des degrés (à utiliser avec --hideunits)
  * **''-r ou --refetch''** : télécharge les informations sans tenir compte de la durée de validité des informations en cache
  * **''-v ou --verbose''** : active le mode verbose
  * **''-E ou --enableerrors''** : si une erreur est rencontrée elle sera affichée au lieu de la sortie standard
  * **''-V ou --version''** : affiche la version du script


Exemple :

<code>${execi 1800 conkyForecast --location=FRXX0076 --datatype=WS}</code>

Cela affichera la vitesse du vent (WS) pour la ville de Paris (FRXX0076)

<note tip>Il est possible de combiner autant d'options que nécessaires.</note>


==== A propos des polices ====

Les différentes polices disponibles se trouvent à cet endroit : **''/usr/share/fonts/truetype/conkyforecast''**

  * **ConkyWeather** doit être utilisé avec le paramètre **WF** (Weather Font) ''--datatype=WF''\\
  * **Arrows** peut être utilisé avec **BF**\\
  * **ConkyWind, ConkyWindN et ConkyWindNESW** peuvent être utilisés avec **BF** (Bearing Fonts ou **BS** (Bearing Fonts avec la vitesse)\\
  * **Moon Phases** peut être utilisé avec **MF** (Moon Font)\\

==== ConkyForecast.template ====

Pour structurer plus facilement son texte, il est possible d'utiliser le fichier **conkyForecast.template**\\

Voici comment structurer ce fichier : 

<code>[--datatype=DW --startday=1 --shortweekday]

[--datatype=HT --startday=1 --hideunits]/[--datatype=LT --startday=1 --hideunits]</code>

Les options se mettent entre crochets ''[--options ...]''. Ce qui est hors des crochets sera affiché comme du texte.

Pour voir un exemple de **conkyForecast.template** [[:tutoriel:comment_editer_un_fichier|ouvrez le fichier]] **''/usr/share/conkyforecast/example/conkyForecast.template''**

Enfin il faut spécifier le chemin du **conkyForecast.template** dans le **conkyrc** à l'aide de :

<code>${execpi 1800 conkyForecast --location=MONCODE --template=/lechemindemonfichier/conkyForecast.template}</code>

<note important>On ne peut pas utiliser les raccourcis pour les options dans le template, il faut écrire l'option en entier (ex : --datatype)</note>

<note tip>Il est désormais possible d'utiliser des caractères accentués dans le template !</note>
<note tip>L'utilisation de la commande **execpi** au lieu de **execi** permet l'utilisation des variables de conky dans le template (elles ne seraient pas interprétées dans le cas contraire).</note>

===== A propos des mises à jours de la météo =====

Par défaut le script va vérifier les informations sur le site weather.com toutes les 30 min (1800 sec) :

<code>${execi 1800 conkyForecast ...</code>

Cette valeur peut être modifiée. Toutefois il faut savoir que les informations du site weather.com sont actualisées toutes les heures. Donc une mise à jour trop fréquente est inutile !

Enfin pour modifier la durée de validité des informations mises en cache, il faut modifier la ligne :

<code>EXPIRY_MINUTES = 30</code>

Dans le fichier **''~/.conkyForecast.config''**


===== Changer "kph" en "km/h" =====

Par défaut l'unité de mesure pour la vitesse du vent sera en **kph** (km par heure). Si cela vous embête, une petite manipulation très simple vous permettra d'obtenir des **km/h**.\\
Pour cela [[:tutoriel:comment_editer_un_fichier|éditez]] le fichier en tant que [[sudo|root]] **''/usr/share/conkyforecast/conkyForecast.py''**\\
Rendez-vous à la ligne 966 :

<code>speedunit = u"kph"</code>

Changez **kph** par **km/h**, sauvegardez puis quittez.


===== Problèmes rencontrés =====


==== La météo est tronquée ====

Si le nombre d'informations à afficher est important (symboles...), il est possible que votre [[Conky]] ne s'affiche pas correctement et qu'il manque un bout. Pour y remedier, rajoutez à votre **conkyrc** avant la section TEXT :

<code>text_buffer_size 2048</code>

==== Précipitations non disponibles (N/A) ====

Il faut rajouter l'option ''--startday=0'' comme ceci : 

<code>--datatype=PC --startday=0</code>


==== Certains caractères ne s'affichent pas correctement ====

Rajoutez l'option suivante à votre **conkyrc** avant la section TEXT :

<code>override_utf8_locale yes</code>


==== Pas de météo au démarrage ====

**conkyForecast** utilise le répertoire temporaire **/tmp**. Hors par défaut ce répertoire est vidé à l'extinction du système. Il vous faut donc définir un autre répertoire temporaire qui ne sera pas vidé, comme **/home** par exemple :

<code>mkdir ~/.conky_tmp</code>

Il faut changer le chemin du répertoire temporaire dans le **conkyForecast.config**. Pour ce faire, [[:tutoriel:comment_editer_un_fichier|éditez le fichier]] **''~/.conkyForecast.config''** et remplacez ce qui suit par le nouveau chemin du répertoire temporaire (le $USER mentionné ci-après doit être votre nom d'utilisateur) : 

<code>CACHE_FOLDERPATH = /home/$USER/.conky_tmp</code>

===== Liens =====

  * Topic officiel (anglais) : http://ubuntuforums.org/showthread.php?t=869328
  * Historique du développement : https://code.launchpad.net/~m-buck/+junk/conkyforecast
  * Détails sur les paquets disponibles : https://launchpad.net/~m-buck/+archive
  * Site de l'auteur de ce script : http://www.kaivalagi.com



Merci à Mark Buck @Kaivalagi pour son script ;-)